import java.util.ArrayList;
import java.util.Arrays;


//替换数字，将数字转化为固定的字符串
public class replacementNumber {
    public String replace(String s){
        String rep = "number";
         int sOldIndex = s.length()-1;//老字符串的下标
         int count = 0;//记录数字个数
         for(int i=0;i<=sOldIndex;i++){
             if (s.charAt(i)>'0'&&s.charAt(i)<'9'){
                 count++;
             }
         }
         char[] newString = new char[s.length()+rep.length()*count-count];//新申请的一个数组大小

        //用双指针从后往前开始填充
        for (int i=sOldIndex,j=newString.length-1;i>=0;){//j是新字符串的下标
            System.out.println(i);
            if(s.charAt(i)>'0' && s.charAt(i)<'9'){//如果是数字的话
                for (int k = rep.length()-1;k>=0;k--){
                    newString[j--] = rep.charAt(k);
                }
                i--;
            }else {//如果不是数字
                newString[j--] = s.charAt(i);
                i--;
            }
        }

        StringBuilder res = new StringBuilder();//创建一个对象来连接字符
        for (char c:newString){
            res.append(c);
        }
        return res.toString();
    }
    public static void main(String[] args) {
        String s = "a1b2c3";
        var main = new replacementNumber();
        String res = main.replace(s);
        System.out.println(res);
    }
}
